package cn.a7e7.idanalysis;

import android.content.Context;

public interface IDAa {

    /**
     * 获取出生年月日
     *
     * @param str 输入的身份证号
     * @return 描述身份证号所包含的出生年月信息
     */
    String dateOfBirth(String str);

    /**
     * 计算性别
     *
     * @param str 身份证号
     * @return 1男，2女
     */
    int getGender(String str);

    /**
     * 计算年龄
     *
     * @param str 身份证号
     * @return 年龄数字
     */
    int getAge(String str);

    /**
     * 身份证号计算校验位
     *
     * @param str 身份证号
     * @return 校验码
     */
    String ealculateCheckDigit(String str);

    /**
     * 基于身份证号的教育阶段预测
     *
     * @param str 身份证证号
     * @return 预测结果
     */
    String educationStageForecast(String str);

    /**
     * 身份证合理性判断
     *
     * @param str 身份证号
     * @return 是或否
     */
    boolean reasonableJudgementOfIDNumber(String str);

    /**
     * 获取地区码
     *
     * @param context this
     * @param str     17、18位身份证号或地名
     * @return 地址码相应
     */
    String getRegionCode(Context context, String str);

    // 身份证号分析

    /**
     * 身份证号分析（汇总）
     *
     * @param context this
     * @param str     身份证号
     * @return 汇总后的信息
     */
    String analysis(Context context, String str);

    /**
     * 随机生成18岁以上的身份证号信息
     *
     * @param context this
     * @return 18位身份证号
     */
    String RandomID(Context context);

}
